-
Notifications
You must be signed in to change notification settings - Fork 781
P3348R4 C++26 should refer to C23 not C17 #8011
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
b079059
to
73448ea
Compare
#define @\libmacro{WEOF}@ @\seebelow@ // freestanding | ||
#define @\libmacro{WCHAR_WIDTH}@ @\seebelow@ // freestanding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#define @\libmacro{WEOF}@ @\seebelow@ // freestanding | |
#define @\libmacro{WCHAR_WIDTH}@ @\seebelow@ // freestanding | |
#define @\libmacro{WCHAR_WIDTH}@ @\seebelow@ // freestanding | |
#define @\libmacro{WEOF}@ @\seebelow@ // freestanding |
The paper wants a different order for these macros.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In [cstdint.syn] WCHAR_WIDTH comes immediately after WCHAR_MAX, because there's no WEOF in [cstdint.syn]. That's why I put it before WEOF here. It's not important though, certainly editorial.
declares the additional \tcode{mbrtoc8} and \tcode{c8rtomb} functions | ||
and does not declare types \keyword{char16_t} nor \keyword{char32_t}. | ||
are the same as the C standard library header \libheader{uchar.h}, | ||
except that it does not declare types |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
except that it does not declare types | |
except that it does not declare the types |
If you want to keep the "the" in [cwchar.syn] then should we add it here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't [cwchar.syn] say "does not declare a type wchar_t
"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why yes, yes it does.
So we have every variation, "does not declare types", "does not declare a type", and "does not declare the type" (twice)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean, all of those are grammaticaly correct... but does it make sense to not declare a definite thing? How can it be definite if it doesn't exist?
Existential musings welcome in a follow-up PR!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I briefly had the same thought, but those types do still exist in C++, they're just not declared in those headers. So "the type wchar_t
" and "the types char8_t
, etc." is correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, agreed!
Avoid lone subclause [depr.ctime] in Annex D.
73448ea
to
aa81b60
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Avoid lone subclause [depr.ctime] in Annex D.
Fixes #7940.
Fixes cplusplus/papers#2020